package com.budwk.app.miniapp.models.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.budwk.app.miniapp.models.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;


/**
 * 事件视图对象 wx_event
 *
 * @author dfxy
 * @date 2023-02-27
 */
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = true)
public class WxEventVo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 订单单号
     */
    //  @ExcelProperty(value = "订单单号")
    private String id;

    /**
     * 事件发起人id
     */
    @ExcelProperty(value = "事件发起人id")
    private String openid;

    /**
     * 事件发起人姓名
     */
    @ExcelProperty(value = "事件发起人姓名")
    private String userName;

    /**
     * 事件类型(自然灾害、应急事件、其它事件，其它)
     */
    //@ExcelProperty(value = "事件类型(自然灾害、应急事件、其它事件，其它)", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "sys_event_type")
    private String eventType;

    /**
     * 标题
     */
    @ExcelProperty(value = "标题")
    private String eventTitle;

    /**
     * 事件内容详情
     */
    @ExcelProperty(value = "事件内容详情")
    private String eventContent;

    /**
     * 图片
     */
    @ExcelProperty(value = "图片")
    private String eventPicUrl;

    /**
     * 经度
     */
    @ExcelProperty(value = "经度")
    private Double longitude;

    /**
     * 维度
     */
    @ExcelProperty(value = "维度")
    private Double latitude;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 事件开始时间
     */
    @ExcelProperty(value = "事件开始时间")
    private String eventCreateTime;

    /**
     * 事件结束时间
     */
    @ExcelProperty(value = "事件结束时间")
    private String eventCompleteTime;

    /**
     * 事件状态(待接单订单,待协助订单,已完成订单,售后/取消订单,全部订单,订单提醒)
     */
    //@ExcelProperty(value = "事件状态(待接单订单,待协助订单,已完成订单,售后/取消订单,全部订单,订单提醒) ", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "sys_order_status")
    private String eventStatus;

    /**
     * 地址（求助者经纬度对应的详细地址）
     */
    //@ExcelProperty(value = "地址", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(readConverterExp = "求=助者经纬度对应的详细地址")
    private String eventAddress;

    /**
     * 事件提醒
     */
    @ExcelProperty(value = "事件提醒")
    private String eventReminder;

    /**
     * 事情发起人电话
     */
    @ExcelProperty(value = "事情发起人电话")
    private String eventPhone;

    /**
     * 事件优先级（紧急还是非紧急）
     */
    //@ExcelProperty(value = "事件优先级", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(readConverterExp = "紧=急还是非紧急")
    private String eventPriority;

    /**
     * 事件标签
     */
    @ExcelProperty(value = "事件标签")
    private String eventLabel;

    /**
     * 需求内容详情类型(药品、食物、燃料、其他)
     */
    //@ExcelProperty(value = "需求内容详情类型(药品、食物、燃料、其他)", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "help_content_type")
    private String eventContentType;

    /**
     * 显示顺序
     */
    @ExcelProperty(value = "显示顺序")
    private String orderBy;

    /**
     * 事件提醒状态，是否提醒
     */
    //@ExcelProperty(value = "事件提醒状态，是否提醒", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "sys_normal_disable")
    private String eventReminderStatus;

    /**
     * 事件状态，是否关闭
     */
    //@ExcelProperty(value = "事件状态，是否关闭", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "sys_normal_disable")
    private String eventSysStatus;

    /**
     * 事件热度（浏览量）
     */
    //@ExcelProperty(value = "事件热度", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(readConverterExp = "浏=览量")
    private String eventIndex;

    /**
     * 视频
     */
    @ExcelProperty(value = "视频")
    private String eventVideo;

    /**
     * 关注者
     */
    @ExcelProperty(value = "关注者")
    private String eventFollowers;

    /**
     * 事件属性
     */
    @ExcelProperty(value = "事件属性")
    private String eventProperties;

    /**
     * 事件性质
     */
    //@ExcelProperty(value = "事件性质", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "sys_event_nature")
    private String eventNature;

    /**
     * 角色（我是当事人/我是旁观者）
     */
    //@ExcelProperty(value = "角色", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "sys_event_role")
    private String eventRole;

    /**
     * 置顶（是否置顶）
     */
    //@ExcelProperty(value = "置顶", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "sys_yes_no")
    private String eventTop;

    /**
     * 省,直辖市
     */
    @ExcelProperty(value = "省,直辖市")
    private String eventProvince;

    /**
     * 市,地级区 及同级行政区划
     */
    @ExcelProperty(value = "市,地级区 及同级行政区划")
    private String eventCity;

    /**
     * 区,县级市 及同级行政区划
     */
    @ExcelProperty(value = "区,县级市 及同级行政区划")
    private String eventDistrict;

    /**
     * 乡镇街道
     */
    @ExcelProperty(value = "乡镇街道")
    private String eventStreet;

    /**
     * 行政区划代码
     */
    @ExcelProperty(value = "行政区划代码")
    private String eventAdcode;

    /**
     * 区域类型(距离,本地,全国)
     */
    //@ExcelProperty(value = "区域类型(距离,本地,全国)", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "event_area_type")
    private String eventAreaType;

    /**
     * 事件离我的距离
     */
    private Double distanceForMe;

    private Date createTime;
    /**
     * 是否审核
     */
    //@ExcelProperty(value = "是否审核", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "sys_auditing_type")
    private Boolean auditingType;

    /**
     * 是否完成
     */
    ///@ExcelProperty(value = "是否完成", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(dictType = "sys_complete_type")
    private Boolean completeType;


    /**
     * 志愿者姓名
     */
    @ExcelProperty(value = "志愿者姓名")
    private String volunteerName;

    /**
     * 志愿者性别
     */
    @ExcelProperty(value = "志愿者性别")
    private String volunteerSex;

    /**
     * 志愿者手机号
     */
    @ExcelProperty(value = "志愿者手机号")
    private String volunteerPhone;

    /**
     * 志愿者出生年份
     */
    @ExcelProperty(value = "志愿者出生年份")
    private String volunteerYear;

    /**
     * 志愿者救助数量
     */
    @ExcelProperty(value = "志愿者救助数量")
    private Long volunteerCompleteNum;

    /**
     * 信息审核通过时间
     */
    @ExcelProperty(value = "信息审核通过时间")
    private Date msgauditPassTime;

    /**
     * 志愿者接单时间
     */
    @ExcelProperty(value = "志愿者接单时间")
    private Date volunteerOrdertime;

    /**
     * 志愿者是否提供帮助
     */
    @ExcelProperty(value = "志愿者是否提供帮助")
    private String volunteerWhetherHelp;

    /**
     * 特殊需求
     */
    @ExcelProperty(value = "特殊需求")
    private String specialRequirement;

    /**
     * $column.columnComment
     */
    //@ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String createdby;

    /**
     * $column.columnComment
     */
    //@ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String createdat;

    /**
     * $column.columnComment
     */
    //@ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String updatedby;

    /**
     * $column.columnComment
     */
    //@ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String updatedat;

    /**
     * $column.columnComment
     */
    //@ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String delflag;

    /**
     * 发布者微信昵称
     */
    @ExcelProperty(value = "发布者微信昵称")
    private String eventNickname;

    /**
     * 信息发布者性别
     */
    @ExcelProperty(value = "信息发布者性别")
    private String eventSex;
    /**
     * 志愿者id
     */
    @ExcelProperty(value = "志愿者id")
    private String volunteerId;

    /**
     * 是否是自己发出的事件
     */
    private Boolean myEventFlag;


}
